package com.mycompany.project.client;

import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.AbsolutePanel;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RadioButton;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.PasswordTextBox;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.ClickEvent;

public class Registro extends DialogBox {
	private TextBox textBoxDir;
	private Label lblDireccin;
	private RadioButton rdbtnProveedorDeServicios;
	private RadioButton rdbtnCliente;
	private TextBox textBoxNombre;
	private TextBox textBoxCorreo;
	private TextBox textBoxLogin;
	private PasswordTextBox passwordTextBox;
	private TextBox textBoxTel;
	
	public Registro() {
		setGlassEnabled(true);
		setHTML("Registro");
		
		AbsolutePanel absolutePanel = new AbsolutePanel();
		setWidget(absolutePanel);
		absolutePanel.setSize("613px", "423px");
		
		HorizontalPanel horizontalPanel = new HorizontalPanel();
		horizontalPanel.setStyleName("gwt-HorizontalSplitPanel");
		absolutePanel.add(horizontalPanel, 0, 0);
		horizontalPanel.setSize("613px", "16px");
		
		Label lblRegistrarseComo = new Label("Registrarse Como: ");
		horizontalPanel.add(lblRegistrarseComo);
		lblRegistrarseComo.setHeight("33px");
		
		rdbtnCliente = new RadioButton("new name", "Cliente");
		
		horizontalPanel.add(rdbtnCliente);
		rdbtnCliente.setSize("75px", "39px");
		
		Label label = new Label("");
		horizontalPanel.add(label);
		label.setSize("37px", "19px");
		
		rdbtnProveedorDeServicios = new RadioButton("new name", "Proveedor de Servicios");
		rdbtnProveedorDeServicios.addClickHandler(new ClickHandler() {
			public void onClick(ClickEvent arg0) {
				Registro.this.textBoxDir.setEnabled(true);
				Registro.this.lblDireccin.setVisible(true);
			}
		});
		horizontalPanel.add(rdbtnProveedorDeServicios);
		
		FlexTable flexTable = new FlexTable();
		absolutePanel.add(flexTable, 0, 52);
		flexTable.setSize("613px", "332px");
		
		Label lblNombre = new Label("Nombre: ");
		flexTable.setWidget(0, 0, lblNombre);
		
		textBoxNombre = new TextBox();
		flexTable.setWidget(0, 1, textBoxNombre);
		textBoxNombre.setWidth("239px");
		
		Label lblNewLabel = new Label("Correo: ");
		flexTable.setWidget(1, 0, lblNewLabel);
		
		textBoxCorreo = new TextBox();
		flexTable.setWidget(1, 1, textBoxCorreo);
		textBoxCorreo.setWidth("237px");
		
		Label lblLogin = new Label("Login: ");
		flexTable.setWidget(2, 0, lblLogin);
		
		textBoxLogin = new TextBox();
		flexTable.setWidget(2, 1, textBoxLogin);
		textBoxLogin.setWidth("176px");
		
		Label lblPassword = new Label("Password: ");
		flexTable.setWidget(3, 0, lblPassword);
		
		passwordTextBox = new PasswordTextBox();
		flexTable.setWidget(3, 1, passwordTextBox);
		passwordTextBox.setWidth("181px");
		
		Label lblTelefono = new Label("Telefono: ");
		flexTable.setWidget(4, 0, lblTelefono);
		
		textBoxTel = new TextBox();
		flexTable.setWidget(4, 1, textBoxTel);
		textBoxTel.setWidth("171px");
		
		lblDireccin = new Label("Direcci\u00F3n: ");
		flexTable.setWidget(5, 0, lblDireccin);
		
		
		textBoxDir = new TextBox();
		flexTable.setWidget(5, 1, textBoxDir);
		textBoxDir.setWidth("361px");
		
		rdbtnCliente.addClickHandler(new ClickHandler() {
			public void onClick(ClickEvent arg0) {
				Registro.this.textBoxDir.setEnabled(false);
				Registro.this.lblDireccin.setVisible(false);
				
			}
		});
		
		Button btnRegistro = new Button("Registro");
		btnRegistro.addClickHandler(new ClickHandler() {
			public void onClick(ClickEvent arg0) {
				Registro.this.hide(true);
				Inicio inic = Inicio.darInstancia();
				if(rdbtnCliente.getValue())
				{
					inic.registrarCliente(textBoxNombre.getText(),textBoxLogin.getText(),passwordTextBox.getText(),textBoxCorreo.getText(),textBoxTel.getText());
				}
				else if(rdbtnProveedorDeServicios.getValue())
				{
					inic.registrarProveedor(textBoxNombre.getText(),textBoxLogin.getText(),passwordTextBox.getText(),textBoxCorreo.getText(),textBoxTel.getText(),textBoxDir.getText());
				}
				inic.rootPanel.clear();
				inic.onModuleLoad();
			}
		});
		
		absolutePanel.add(btnRegistro, 503, 390);
		btnRegistro.setSize("100px", "28px");
		
		Button btnCancelar = new Button("Cancelar");
		btnCancelar.addClickHandler(new ClickHandler() {
			public void onClick(ClickEvent arg0) {
				Registro.this.hide(true);
			}
		});
		absolutePanel.add(btnCancelar, 366, 390);
		btnCancelar.setSize("100px", "28px");
	}
}
